#ifndef MODAL_FILTER_SYSTEM_H
#define MODAL_FILTER_SYSTEM_H


#include <vector>

class ModalFilter;

class ModalFilterSystem
{
public:
	ModalFilterSystem( float minDuration, float maxDuration, float midFrequency, float frequencyCeiling);
	float FrequencyDurationEnvelope(float frequency);
	void AddFilter(ModalFilter* filter);
	void Process(float energy);

private:
	bool m_envelopeFrequencies;
	float m_minDuration;
	float m_maxDuration;
	float m_upperFrequencyGradient;
	float m_lowerFrequencyGradient;
	float m_upperFreqYIntercept;
	float m_lowerFreqYIntercept;
	float m_midFrequency;

	std::vector<ModalFilter*> m_filters;

};

#endif